ifstream, ofstream এবং fstream এর ব্যবহার

Computer Programming - সি++ প্রোগ্রামিং (C++ Programming) ফাইল হ্যান্ডলিং |
240
240

ifstream, ofstream, এবং fstream হলো C++ এ ফাইল হ্যান্ডলিং করার জন্য ব্যবহৃত তিনটি প্রধান ক্লাস, যা fstream লাইব্রেরির অংশ। এগুলোর সাহায্যে ফাইল থেকে ডেটা পড়া, ফাইলে ডেটা লেখা এবং একই সাথে ফাইল পড়া ও লেখা করা যায়।

1. ifstream (Input File Stream)

ifstream ক্লাস ব্যবহার করে ফাইল থেকে ডেটা পড়া হয়। এটি ইনপুট মোডে কাজ করে এবং শুধুমাত্র read অপারেশন পরিচালনা করতে পারে।

উদাহরণ: ifstream এর মাধ্যমে ফাইল থেকে পড়া

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ifstream inputFile("example.txt"); // ফাইল খোলা ifstream অবজেক্ট দিয়ে

    if (!inputFile) {
        cout << "Error opening file!" << endl;
        return 1;
    }

    string line;
    while (getline(inputFile, line)) { // ফাইল থেকে এক লাইন করে পড়া
        cout << line << endl;
    }

    inputFile.close(); // ফাইল বন্ধ করা
    return 0;
}

বর্ণনা:

  • এখানে example.txt ফাইলটি ifstream অবজেক্ট inputFile ব্যবহার করে খোলা হয়েছে।
  • getline() ফাংশনের মাধ্যমে এক লাইন করে পড়া হয়েছে এবং কনসোলে প্রিন্ট করা হয়েছে।
  • ফাইল অপারেশন শেষে close() ফাংশন ব্যবহার করে ফাইলটি বন্ধ করা হয়েছে।

2. ofstream (Output File Stream)

ofstream ক্লাস ব্যবহার করে ফাইলে ডেটা লেখা হয়। এটি আউটপুট মোডে কাজ করে এবং শুধুমাত্র write অপারেশন পরিচালনা করতে পারে।

উদাহরণ: ofstream এর মাধ্যমে ফাইলে লেখা

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ofstream outputFile("example.txt"); // ফাইল খোলা ofstream অবজেক্ট দিয়ে

    if (!outputFile) {
        cout << "Error opening file!" << endl;
        return 1;
    }

    outputFile << "Hello, World!" << endl; // ফাইলে লেখা
    outputFile << "C++ File Handling Example." << endl;

    outputFile.close(); // ফাইল বন্ধ করা
    cout << "Data written to file successfully!" << endl;
    return 0;
}

বর্ণনা:

  • এখানে example.txt ফাইলটি ofstream অবজেক্ট outputFile ব্যবহার করে খোলা হয়েছে।
  • outputFile ব্যবহার করে ফাইলে কিছু টেক্সট লেখা হয়েছে।
  • close() ফাংশন ব্যবহার করে ফাইলটি বন্ধ করা হয়েছে।

3. fstream (File Stream)

fstream ক্লাস ব্যবহার করে একই ফাইলে ইনপুট এবং আউটপুট উভয় ধরনের অপারেশন করা যায়। এটি ইনপুট এবং আউটপুট উভয় মোডে কাজ করতে সক্ষম।

উদাহরণ: fstream এর মাধ্যমে ফাইল পড়া ও লেখা

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    fstream file("example.txt", ios::in | ios::out | ios::app); // ফাইল খোলা fstream অবজেক্ট দিয়ে, ইনপুট, আউটপুট এবং অ্যাপেন্ড মোডে

    if (!file) {
        cout << "Error opening file!" << endl;
        return 1;
    }

    // ফাইলে লেখা
    file << "Adding a new line to the file." << endl;

    // ফাইলের শুরুতে যাওয়া
    file.seekg(0);

    // ফাইল থেকে পড়া
    string line;
    while (getline(file, line)) {
        cout << line << endl;
    }

    file.close(); // ফাইল বন্ধ করা
    return 0;
}

বর্ণনা:

  • এখানে example.txt ফাইলটি fstream অবজেক্ট file ব্যবহার করে খোলা হয়েছে এবং এটি ইনপুট, আউটপুট এবং অ্যাপেন্ড মোডে কাজ করছে।
  • ফাইলে একটি নতুন লাইন যোগ করা হয়েছে।
  • seekg(0) ব্যবহার করে ফাইল পয়েন্টারকে শুরুতে নিয়ে গিয়ে ফাইলের ডেটা পড়া হয়েছে।
  • ফাইল অপারেশন শেষে close() ফাংশন ব্যবহার করে ফাইলটি বন্ধ করা হয়েছে।

মোড সমূহের সংক্ষিপ্ত বিবরণ

C++ এ ফাইল খোলার সময় বিভিন্ন মোড ব্যবহার করা যায়:

  • ios::in: ইনপুট মোড, ফাইল পড়ার জন্য ব্যবহৃত।
  • ios::out: আউটপুট মোড, ফাইলে লেখার জন্য ব্যবহৃত।
  • ios::app: অ্যাপেন্ড মোড, ফাইলের শেষে নতুন ডেটা যোগ করে।
  • ios::trunc: ফাইল খোলার সময় পূর্ববর্তী ডেটা মুছে ফেলে, যা ios::out এর জন্য ডিফল্ট।
  • ios::binary: বাইনারি মোডে ফাইল খোলে।

সংক্ষেপে তুলনা

ক্লাসকাজব্যবহৃত মোড
ifstreamফাইল থেকে পড়া (input)ios::in
ofstreamফাইলে লেখা (output)ios::out, ios::app, ios::trunc
fstreamফাইল পড়া এবং লেখা (input/output)ios::in, ios::out, ios::app, ios::binary

সারসংক্ষেপ

  • ifstream: ফাইল থেকে ডেটা পড়ার জন্য ব্যবহৃত হয়।
  • ofstream: ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়।
  • fstream: একই ফাইলে পড়া এবং লেখার জন্য ব্যবহৃত হয়।

ফাইল হ্যান্ডলিংয়ের এই তিনটি ক্লাস ব্যবহার করে ফাইলের সাথে কার্যকরভাবে কাজ করা যায় এবং প্রোগ্রামের আউটপুট সংরক্ষণ বা ইনপুট হিসেবে ব্যবহার করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion